﻿function _ConvocatoriaAula() {

    this.IdConvocatoria = null;

    this.PreInit = function () {

        var _parent = this;
        _parent.TituloModalForm = "Aulas de la convocatoria";
        _parent.CssModalForm = {
            'top': "40%",
            'width': '800px',
            'margin-left': function () {
                return -($(this).width() / 2);
            }
        }

        _parent._Editar();
        _parent._Eliminar();

        _parent._getCont().find("#nuevo").click(function () {
            _parent.Form({ IdConvocatoria: _parent.IdConvocatoria });
        })
    }

    /**
    Editar el registro
    */
    this._Editar = function () {

        var _parent = this;

        _parent._getContList().off('.editar');
        _parent._getContList().on('click', '.editar', function (e) {
            e.preventDefault();
            var obj = $(this);

            _parent.Form(
                {
                    Id: obj.attr('data-Id'),
                    IdConvocatoria: _parent.IdConvocatoria
                }
            )
        });
    };


    /**
    Eliminar el registro
    */
    this._Eliminar = function () {

        var _parent = this;

        _parent._getContList().off('.eliminar');
        _parent._getContList().on('click', '.eliminar', function (e) {
            e.preventDefault();
            var obj = $(this);

            var confirmacion = _parent._MensajeConfirmacion();
            confirmacion.titulo = "Eliminar esta aula";
            confirmacion.contenido = "¿Esta seguro de eliminar el aula?";


            confirmacion.yes = function () {
                jQuery.post(URL_PAGE + "Administrador/Convocatoria/EliminarAula",
                                         {
                                             Id: obj.attr('data-Id')
                                         },
                             function (data) {

                                 confirmacion.getModal.modal('hide');
                                 _parent._MensajesOperacion("success",
                                                    "Registro eliminado",
                                                    "El aula fue eliminado correctamente");
                                 _parent.List({ IdConvocatoria: _parent.IdConvocatoria });
                                 _parent.Form({ IdConvocatoria: _parent.IdConvocatoria });
                             }
                   , "json");
            };

            confirmacion.modal();

        });
    };


    //Despues de cargar el formulario
    this._PostForm = function () {
        var _parent = this;
        _parent._InicializarVisualizacionControles();
        _parent.ValidacionCamposForm();
        _parent._CargarEventosForm();
    }

    this._InicializarVisualizacionControles = function () {

        var _parent = this;
        var form = _parent._getForm();
    }

    this.ValidacionCamposForm = function () {

        var _parent = this;
        var form = _parent._getForm();
        form.find("#NombreAula").addClass("validate[required]");
        form.find("#Vacantes").addClass("validate[required]");
    }

    /**
    Carga de eventos
    */
    this._CargarEventosForm = function () {

        var _parent = this;
        var form = _parent._getForm();

        form.find("#registrar").click(function () {
            form.submit();
        })

        form.validationEngine({
            ajaxSubmit: true,
            onValidationComplete: function (form, status) {

                if (status) {
                    form.ajaxSubmit({
                        success: function (responseText, statusText, xhr, $form) {

                            _parent._MensajesOperacion("success", "Registro grabado"
                            , "Se registro correctamente el aula");
                            _parent.List({ IdConvocatoria: _parent.IdConvocatoria });
                            _parent.Form({ IdConvocatoria: _parent.IdConvocatoria });
                        }
                    });
                }
            }
        });
    }
}